<?php
namespace GK;
class Url extends App
{
    /**
     * 获取当前HTTP协议
     */
    public static function Is_Https(){
        if ( !empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off') {
            return 'https';
        } elseif ( isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https' ) {
            return 'https';
        } elseif ( !empty($_SERVER['HTTP_FRONT_END_HTTPS']) && strtolower($_SERVER['HTTP_FRONT_END_HTTPS']) !== 'off') {
            return 'https';
        }
        return 'http';
    }
        /**
     * URL生成
     * 可根据当前路由模式生成Url链接
     * Url 传入Url路由地址
     * Value 传入Url参数 （支持数组和字符串）
     * Suffix 传入Url结尾文件后缀
     * Domain 传入域名参数 （true=当前访问域名，参数=指定域名）
     */
    public static function Build($Url='',$Value='',$Suffix=false,$Domain=false){
        if(empty($Url)){
            $Url=strtolower(self::$Module).'/'.strtolower(self::$Controller).'/'.strtolower(self::$Action);
        }
        if(!empty($Value)){
            if(is_array($Value)){
                foreach ($Value as $k => $v){
                    $U[]=$k.'/'.$v;
                }
                $Url=$Url.'/'.strtolower(implode('/',$U));
            }else{
                $Url=$Url.'/'.strtolower(implode('/',explode('=',implode('/',explode('&',$Value)))));
            }
        }
        if($Suffix!=false){
            $Url=$Url.'.'.$Suffix;
        }
        if($Domain!=false){
            if($Domain===true){
                $Dom=self::Is_Https().'://'.$_SERVER['SERVER_NAME'];
            }else{
                $Dom='http://'.$Domain;
            }
            $Url=$Dom.'/'.$Url;
        }
        return $Url;
    }
}